<?xml version="1.0"?>
<ScatterFile xmlns="http://schemas.microsoft.com/netmf/ScatterfileSchema.xsd">

    <!-- HAG, NO SRAM, SDRAM 32/64M -->

    <!-- ################################################################################ -->


    <!-- HAG - 32/64M SDRAM - 160K SRAM - No FLASH -->
    <Set Name="Heap_Begin"      Value="0x21000000"/>
    <Set Name="Heap_End"        Value="0x21EFFFFC"/>
    <Set Name="Stack_Bottom"    Value="0x00326000"/>
    <Set Name="Stack_Top"       Value="0x00327FFC"/>


    <If Name="TARGETLOCATION" In="FLASH">

        <Set Name="Code_BaseAddress" Value="0x20000000"/>
        <Set Name="Code_Size"        Value="0x00020000"/>
        <Set Name="Valid"            Value="true"/>

    </If>

    <If Name="TARGETLOCATION" In="RAM">

        <Set Name="Code_BaseAddress" Value="0x20000000"/> 
        <Set Name="Code_Size"        Value="0x00020000"/>
        <Set Name="Valid"            Value="true"/>
    </If>


    <LoadRegion Name="LR_%TARGETLOCATION%" Base="%Code_BaseAddress%" Options="ABSOLUTE" Size="%Code_Size%">

        <ExecRegion Name="ER_%TARGETLOCATION%" Base="%Code_BaseAddress%" Options="FIXED" Size="">

            <FileMapping Name="FirstEntry.obj"   Options="(+RO, +FIRST)" /> <!-- the entry pointer section goes into this region -->

            <FileMapping Name="*" Options="(SectionForBootstrapOperations)" />

        </ExecRegion>

        <!-- skip vector area -->

        <ExecRegion Name="ER_RAM_RO" Base="+0" Options="ABSOLUTE" Size="">

            <!-- all code and constants are in RAM, 0-WS, 32-bit wide -->

            <FileMapping Name="*" Options="(+RO)" /> <!-- this must live somewhere other than RAM, for all but RAM builds -->

        </ExecRegion>

        <ExecRegion Name="ER_RAM_RW" Base="+0" Options="ABSOLUTE" Size="">

            <FileMapping Name="*"                Options="(+RW-DATA, +ZI)" />

        </ExecRegion>

        <ExecRegion Name="ER_HEAP_BEGIN" Base="%Heap_Begin%" Options="ABSOLUTE" Size="UNINIT">
            <FileMapping Name="*" Options="(SectionForHeapBegin)" />
        </ExecRegion>

        <!-- everything between heapbegin and heapend will be allocated for a heap -->
        <ExecRegion Name="ER_HEAP_END" Base="%Heap_End%" Options="ABSOLUTE" Size="UNINIT">
            <FileMapping Name="*" Options="(SectionForHeapEnd)" />
        </ExecRegion>

        <!-- this must go last here to provide a low water mark on the stack -->

        <ExecRegion Name="ER_STACK_BOTTOM" Base="%Stack_Bottom%" Options="ABSOLUTE" Size="UNINIT">
            <FileMapping Name="*" Options="(SectionForStackBottom)" />
        </ExecRegion>
	    
        <ExecRegion Name="ER_STACK_TOP" Base="%Stack_Top%" Options="ABSOLUTE" Size="UNINIT">
            <FileMapping Name="*" Options="(SectionForStackTop)" />
        </ExecRegion>

    </LoadRegion>
</ScatterFile>
